package com.alander.nexusgo.user.model.entity;

import com.alander.nexusgo.framework.mysql.starter.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 用户偏好设置表
 * @TableName user_preferences
 */
@TableName(value ="user_preferences")
@Data
public class UserPreferences extends BaseEntity {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 旅行风格
     */
    private Object travelStyle;

    /**
     * 预算范围
     */
    private BigDecimal budgetRange;

    /**
     * 住宿偏好
     */
    private Object accommodationType;

    /**
     * 交通偏好
     */
    private Object transportPreference;

    /**
     * 美食偏好
     */
    private Object foodPreference;

    /**
     * 兴趣标签JSON数组
     */
    private Object interestTags;

    /**
     * 偏好城市JSON数组
     */
    private Object preferredCities;

    /**
     * 避开城市JSON数组
     */
    private Object avoidCities;

    /**
     * 旅行伙伴
     */
    private Object travelCompanions;

    /**
     * 语言偏好
     */
    private String languagePreference;

    /**
     * 时区设置
     */
    private String timezone;

    /**
     * 隐私设置
     * {
     *   "profile_visibility": "public",
     *   "checkin_visibility": "friends_only",
     *   "allow_stranger_messages": false,
     *   "show_online_status": true
     * }
     */
    private Object privacySettings;

    /**
     * 通知设置
     * {
     *   "msg_notify": true,
     *   "like_notify": true,
     *   "follow_notify": true
     * }
     */
    private Object notificationSettings;

    /**
     * 状态（0正常 1停用）
     */
    private String status;
}